home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / port / aix32 / defs.gcc next >
Text File  |  1994-08-01  |  9KB  |  327 lines

  1. #    $Header: /usr/people/sam/fax/port/aix32/RCS/defs.gcc,v 1.5 1994/03/29 01:05:58 sam Rel $
  2. #
  3. # FlexFAX Facsimile Software
  4. #
  5. # Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
  6. # Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
  7. # Permission to use, copy, modify, distribute, and sell this software and 
  8. # its documentation for any purpose is hereby granted without fee, provided
  9. # that (i) the above copyright notices and this permission notice appear in
  10. # all copies of the software and related documentation, and (ii) the names of
  11. # Sam Leffler and Silicon Graphics may not be used in any advertising or
  12. # publicity relating to the software without the specific, prior written
  13. # permission of Sam Leffler and Silicon Graphics.
  14. # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  15. # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  16. # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  17. # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  18. # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  19. # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  20. # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  21. # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  22. # OF THIS SOFTWARE.
  23. #
  24.  
  25. #
  26. # These definitions are for building the software on a
  27. # IBM RISC System/6000 under AIX v3.2.3 using gcc 2.4.5 and libg++2.3.1.
  28. #
  29. # TARGET:    aix32
  30. # COMPILER:    gcc
  31. #
  32. SHELL    = /bin/sh
  33. DESTDIR    = .
  34. NULL    =
  35. MAKEFILE= Makefile
  36.  
  37. #
  38. # Location of auxiliary stuff needed for Solaris2
  39. #
  40. PORT    = ${DEPTH}/port/aix32
  41. GENERIC    = ${DEPTH}/port/generic
  42. #
  43. # Basic tools used in the build process.
  44. #
  45. C++    = /usr/local/bin/gcc
  46. CC    = /usr/local/bin/gcc
  47.  
  48. # Need $LN for c++ Make dependancy rule.  Required for debugger.
  49. LN      = /bin/ln -s
  50. NAWK    = /usr/bin/nawk
  51. INSTALL    = ksh ${PORT}/install.sh
  52. MKDEPEND= ksh ${GENERIC}/mkdepend
  53. AR    = /usr/bin/ar
  54. RANLIB    = /bin/echo
  55. SED    = /usr/bin/sed
  56.  
  57. #
  58. # AR options for creating/updating an archive
  59. #
  60. AROPTS=    crs
  61.  
  62. #
  63. # Special options for lptops compilation (yech).
  64. #
  65.  
  66. #
  67. # We wants System V-style getty support.
  68. #
  69. SYSGETTY=GettySysV.c++
  70.  
  71. #
  72. # and we want System V-style UUCP lock support.
  73. #
  74. UUCP_LOCKDIR=/etc/locks
  75. UUCP_LOCKTYPE=0
  76. UUCP_LOCKMODE=0444
  77.  
  78. #
  79. # Location of Adobe Font Metrics for lptops.
  80. #
  81. AFMDIR=/usr/local/lib/afm
  82.  
  83. #
  84. # PostScript imager for server.  PSPACKAGE is one of:
  85. #
  86. # dps    for Display Postscript
  87. # gs    for Ghostscript
  88. #
  89. # and PSIMAGER is the pathname of the binary executable.
  90. #
  91. PSPACKAGE=gs
  92. PSIMAGER=/usr/local/bin/gs
  93.  
  94. #
  95. # Mail program for sending notification messages.
  96. #
  97. FAX_MAILCMD=/usr/bin/mail
  98. SENDMAIL=/usr/sbin/sendmail
  99.  
  100. #
  101. # Default optimizer and prototype options
  102. #
  103. OPTIMIZER=-g
  104. PROTOTYPES=
  105. CVERSION= -D__ANSI_CPP__
  106. C++FILE= -x c++
  107.  
  108. #
  109. # Auxillary directories for munged system header files
  110. #
  111. AUXINCL= ${PORT}/gcc-related
  112.  
  113. # default definitions for programs--overide them as desired
  114. LIBS=    ${LIBUTIL} ${LIBTIFF} ${LIBIV}
  115. LLDLIBS=${LIBS} ${MACHDEPLIBS}
  116. #
  117. # Override this definition to eliminate shared library use.
  118. #
  119. SHDLIBC=-static
  120.  
  121. #
  122. # Libraries that may vary from machine to machine (especially if
  123. # you use GNU GCC instead of AT&T C++).
  124. #
  125. MACHDEPLIBS=${PORT}/libport.a -lg++ -lc -lbsd
  126. #
  127. # You must have v3.0 or newer of the TIFF library.  If
  128. # you already have it installed, or if you have version 3.0
  129. # or newer of InterViews installed (which includes the TIFF
  130. # library), you can point these to those places.  Otherwise,
  131. # you can just use the code provided here.
  132. #
  133. TIFF=    ${DEPTH}/libtiff
  134. LIBTIFF=${TIFF}/libtiff.a
  135. #
  136. # If you already have InterViews 3.0 or newer installed,
  137. # define these to be something like:
  138. #
  139. #IV=    /usr/include
  140. #LIBIV=    /usr/lib/libIV.a
  141. # Otherwise you can just use the subset of classes used by
  142. # the fax software and collected here in a hacked-up library.
  143. #
  144. IV=    ${DEPTH}/iv
  145. LIBIV=    ${IV}/libivhack.a
  146. # random utility functions and classes
  147. UTIL=    ${DEPTH}/util
  148. LIBUTIL=${UTIL}/libfaxutil.a
  149.  
  150. #
  151. # Uid&Gid for installing server stuff.  Note that the server process
  152. # proper (/usr/etc/faxd or similar) must either run setuid root or
  153. # setuid uucp (i.e. fax and uucp must have the same uid).  This is
  154. # so that the fax server can participate in the UUCP locking scheme
  155. # and thereby implement tty line sharing (i.e. share the same line
  156. # and modem for both fax and data).
  157. #
  158. FAXUSER=uucp
  159. FAXGROUP=uucp
  160.  
  161. #
  162. # Directories where stuff gets placed:
  163. #
  164. # BIN        client-directed applications
  165. # LIBDATA    client-directed application library data files
  166. # LIBEXEC    client-directed application library executables
  167. # SPOOL        spooling area for servers
  168. # DOC        non-manual documentation
  169. # USRETC    place for servers (faxd & faxd.recv)
  170. #
  171. BIN=    /usr/local/bin
  172. LIBDATA=/usr/local/lib/fax
  173. LIBEXEC=/usr/local/lib/fax
  174. DOC=    /usr/local/lib/fax/doc
  175. USRETC=    /usr/local/etc
  176.  
  177. SPOOL=    /var/spool/fax
  178. #
  179. # Manual-related controls:
  180. #
  181. # MAN        head of manual tree
  182. # MANAPP    subdirectory for stuff in BIN
  183. # MANSYS    subdirectory for server & server-related apps
  184. # MANFILES    subdirectory for file format info 
  185. # PAGEDIRT    temp files to remove on clean/clobber
  186. #
  187. MAN    = /usr/man
  188.  
  189. MANAPPS    = man1
  190. MANSYS    = man1
  191. MANFILES= man4
  192.  
  193. NROFF    = /usr/bin/nroff
  194. COMPRESS= compress
  195.  
  196. MANCAPP    = ${CLIENTAPPS}
  197. MANCFILE= ${CLIENTFILES}
  198. MANSAPP    = ${SERVERAPPS}
  199. MANSFILE= ${SERVERFILES}
  200. PAGEDIRT=
  201.  
  202. # programs used during installation
  203. ECHO=    /bin/echo
  204. FTR=    /usr/sbin/ftr
  205. GREP=    /usr/bin/grep
  206. RM=    /bin/rm
  207. PWD=    /bin/pwd
  208.  
  209. #
  210. # Definitions used by common rules.
  211. #
  212. COMMONRULES=${DEPTH}/rules
  213. COMMONTARGS= clobber clean rmtargets depend incdepend
  214.  
  215. #
  216. # C compiler flags are composed of variable (set on the command line),
  217. # local (defined in the makefile), and global (defined in this file)
  218. # parts, in that order.  This ordering is used so that variable or
  219. # locally specified include directories are searched before the globally
  220. # specified ones.
  221. #
  222. CFLAGS=    ${CVERSION} ${VCFLAGS} ${LCFLAGS} ${GCFLAGS}
  223.  
  224. VCFLAGS=${VCDEFS} ${VCINCS} ${VCOPTS}
  225. LCFLAGS=${LCDEFS} ${LCINCS} ${LCOPTS}
  226. GCFLAGS=${GCDEFS} ${GCINCS} ${GCOPTS}
  227.  
  228. COPTS=    ${VCOPTS} ${LCOPTS} ${GCOPTS}
  229. CDEFS=    ${VCDEFS} ${LCDEFS} ${GCDEFS}
  230. CINCS=    ${VCINCS} ${LCINCS} ${GCINCS}
  231.  
  232. GCOPTS=${OPTIMIZER}
  233. GCDEFS= -DAIXV3 -DAIX
  234. GCINCS=    -I. -I${DEPTH} -I${GENERIC} -I${UTIL} -I${TIFF}
  235. #
  236. # C++ flags are decomposed using the same hierarchy as C flags.
  237. #
  238. C++FLAGS=${CVERSION} ${VC++FLAGS} ${LC++FLAGS} ${GC++FLAGS}
  239.  
  240. VC++FLAGS=${VC++DEFS} ${VC++INCS} ${VC++OPTS}
  241. LC++FLAGS=${LC++DEFS} ${LC++INCS} ${LC++OPTS}
  242. GC++FLAGS=${GC++DEFS} ${GC++INCS} ${GC++OPTS}
  243.  
  244. C++OPTS=${VC++OPTS} ${LC++OPTS} ${GC++OPTS}
  245. C++DEFS=${VC++DEFS} ${LC++DEFS} ${GC++DEFS}
  246. C++INCS=${VC++INCS} ${LC++INCS} ${GC++INCS}
  247.  
  248. GC++OPTS=${OPTIMIZER}
  249. GC++INCS=-I. -I${DEPTH} -I${GENERIC} -I${AUXINCL} -I${UTIL} -I${IV} -I${TIFF}
  250. GC++DEFS= -DAIXV3 -DAIX -D_PATH_GETTY=\"/usr/sbin/getty\" -DfxSIGHANDLER=int '-DfxSIGVECHANDLER=(void(*)())'
  251.  
  252. #
  253. # Loader flags, composed of library (-l's) and option parts, with
  254. # the libraries appearing last.  Both of these are divided into variable,
  255. # local, and global parts.  The composition of LDFLAGS is done in the
  256. # other "direction" from CFLAGS so that all the -L's, that are part of
  257. # LDOPTS, appear before any of the -l's, which are part of LDLIBS.
  258. # Another benefit of segregating the libraries from the remaining of the
  259. # loader options is that the libraries alone can easily be given to
  260. # another program, e.g., lint.
  261. #
  262. # Notes:
  263. #   - If a program should not be linked with the shared version of libc,
  264. #     then its make file should override the setting of SHDLIBC with a
  265. #     line such as "SHDLIBC=".
  266. #
  267. LDFLAGS=${LDOPTS} ${LDLIBS}
  268.  
  269. LDOPTS=${VLDOPTS} ${LLDOPTS} ${GLDOPTS}
  270. LDLIBS=${VLDLIBS} ${LLDLIBS} ${GLDLIBS}
  271.  
  272. GLDOPTS=
  273. GLDLIBS=${SHDLIBC}
  274.  
  275. #
  276. # Convenient command macros that include the flags macros.
  277. #
  278. C++F=    ${C++} ${C++FLAGS}
  279. C++CPP=    ${C++} -E ${C++FLAGS}
  280. CCF=    ${CC} ${CFLAGS}
  281.  
  282. #
  283. # Shell script for generating make dependencies.  MKDEPEND is a shorthand
  284. # for the tool's absolute pathname.  MKDEPENDC adds MKDEPCFLAGS and the -c
  285. # mkdepend option to this.  The other language's mkdepend variables try to
  286. # include their language's name in the variable names.  Unfortunately, a
  287. # lot of makefiles already use the nondescript LMKDEPFLAGS for C language
  288. # mkdepend options, so we initialize LMKDEPCFLAGS with ${LMKDEPFLAGS}.
  289. #
  290. MKDEPENDC++    =${MKDEPEND} ${MKDEPC++FLAGS} -c "${C++F} ${C++FILE} -M"
  291. MKDEPENDC    =${MKDEPEND} ${MKDEPCFLAGS} -c "${CCF} -M"
  292.  
  293. MKDEPC++FLAGS    =${VMKDEPC++FLAGS} ${LMKDEPC++FLAGS} ${GMKDEPC++FLAGS}
  294. MKDEPCFLAGS    =${VMKDEPCFLAGS} ${LMKDEPCFLAGS} ${GMKDEPCFLAGS}
  295. LMKDEPCFLAGS    =${LMKDEPFLAGS}
  296.  
  297. GMKDEPFLAGS    =-e 's@ ${INCLDIR}/@ $${INCLDIR}/@' -e 's@ ${ROOT}/@ $${ROOT}/@'
  298. GMKDEPC++FLAGS    =${GMKDEPFLAGS} -s C++ -e 's@\.c++\.o *: @\.o: @'
  299. GMKDEPCFLAGS    =${GMKDEPFLAGS}
  300.  
  301. #
  302. # Macro to add to LMKDEPCFLAGS or LMKDEPC++FLAGS if your makefile builds
  303. # single-source programs using null suffix rules (e.g., .c:}.  This option
  304. # works for both C and C++ make depend.
  305. #
  306. NULLSUFFIX_MKDEPFLAG=-e 's@\.o+*:@:@'
  307. #
  308. # MKDEPFILE is the name of the dependency database, included by rules.
  309. #
  310. MKDEPFILE=Makedepend
  311. #
  312. # CDEPFILES lists all C or cc-compiled source files that depend on header
  313. # files computable by ${MKDEPENDC}.  C++DEPFILES lists all C++ files having
  314. # dependencies computable by ${MKDEPENDC++}.
  315. #
  316. C++DEPFILES=${C++FILES}
  317. CDEPFILES=${CFILES}
  318. DEPFILES=${C++DEPFILES} ${CDEPFILES}
  319.  
  320. #
  321. # Directory shorthands, mainly for make depend (see GMKDEPFLAGS above).
  322. #
  323.